home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / renderproto.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  13KB  |  616 lines

  1. /*
  2.  * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
  3.  *
  4.  * Copyright ⌐ 2000 SuSE, Inc.
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and its
  7.  * documentation for any purpose is hereby granted without fee, provided that
  8.  * the above copyright notice appear in all copies and that both that
  9.  * copyright notice and this permission notice appear in supporting
  10.  * documentation, and that the name of SuSE not be used in advertising or
  11.  * publicity pertaining to distribution of the software without specific,
  12.  * written prior permission.  SuSE makes no representations about the
  13.  * suitability of this software for any purpose.  It is provided "as is"
  14.  * without express or implied warranty.
  15.  *
  16.  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  17.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
  18.  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  19.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  20.  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
  21.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  22.  *
  23.  * Author:  Keith Packard, SuSE, Inc.
  24.  */
  25.  
  26. #ifndef _XRENDERP_H_
  27. #define _XRENDERP_H_
  28.  
  29. #include <X11/Xmd.h>
  30. #include <X11/extensions/render.h>
  31.  
  32. #define Window CARD32
  33. #define Drawable CARD32
  34. #define Font CARD32
  35. #define Pixmap CARD32
  36. #define Cursor CARD32
  37. #define Colormap CARD32
  38. #define GContext CARD32
  39. #define Atom CARD32
  40. #define VisualID CARD32
  41. #define Time CARD32
  42. #define KeyCode CARD8
  43. #define KeySym CARD32
  44.  
  45. #define Picture        CARD32
  46. #define PictFormat  CARD32
  47. #define Fixed        INT32
  48. #define Glyphset    CARD32
  49. #define Glyph        CARD32
  50.  
  51. /*
  52.  * data structures
  53.  */
  54.  
  55. typedef struct {
  56.     CARD16  red B16;
  57.     CARD16  redMask B16;
  58.     CARD16  green B16;
  59.     CARD16  greenMask B16;
  60.     CARD16  blue B16;
  61.     CARD16  blueMask B16;
  62.     CARD16  alpha B16;
  63.     CARD16  alphaMask B16;
  64. } xDirectFormat;
  65.  
  66. #define sz_xDirectFormat    16
  67.  
  68. typedef struct {
  69.     PictFormat    id B32;
  70.     CARD8    type;
  71.     CARD8    depth;
  72.     CARD16    pad1 B16;
  73.     xDirectFormat   direct;
  74.     Colormap    colormap;
  75. } xPictFormInfo;
  76.  
  77. #define sz_xPictFormInfo    28
  78.  
  79. typedef struct {
  80.     VisualID    visual;
  81.     PictFormat    format;
  82. } xPictVisual;
  83.  
  84. #define sz_xPictVisual        8
  85.  
  86. typedef struct {
  87.     CARD8    depth;
  88.     CARD8    pad1;
  89.     CARD16    nPictVisuals B16;
  90.     CARD32    pad2 B32;
  91. } xPictDepth;
  92.  
  93. #define sz_xPictDepth    8
  94.  
  95. typedef struct {
  96.     CARD32    nDepth B32;
  97.     PictFormat    fallback B32;
  98. } xPictScreen;
  99.  
  100. #define sz_xPictScreen    8
  101.  
  102. typedef struct {
  103.     CARD32    pixel B32;
  104.     CARD16    red B16;
  105.     CARD16    green B16;
  106.     CARD16    blue B16;
  107.     CARD16    alpha B16;
  108. } xIndexValue;
  109.  
  110. #define sz_xIndexValue    12
  111.  
  112. typedef struct {
  113.     CARD16    red B16;
  114.     CARD16    green B16;
  115.     CARD16    blue B16;
  116.     CARD16    alpha B16;
  117. } xRenderColor;
  118.  
  119. #define sz_xRenderColor    8
  120.  
  121. typedef struct {
  122.     Fixed    x B32;
  123.     Fixed    y B32;
  124. } xPointFixed;
  125.  
  126. #define sz_xPointFixed    8
  127.  
  128. typedef struct {
  129.     xPointFixed    p1;
  130.     xPointFixed p2;
  131. } xLineFixed;
  132.  
  133. #define sz_xLineFixed    16
  134.  
  135. typedef struct {
  136.     xPointFixed    p1, p2, p3;
  137. } xTriangle;
  138.  
  139. #define sz_xTriangle    24
  140.  
  141. typedef struct {
  142.     Fixed    top B32;
  143.     Fixed    bottom B32;
  144.     xLineFixed    left;
  145.     xLineFixed    right;
  146. } xTrapezoid;
  147.  
  148. #define sz_xTrapezoid    40
  149.  
  150. typedef struct {
  151.     CARD16  width B16;
  152.     CARD16  height B16;
  153.     INT16   x B16;
  154.     INT16   y B16;
  155.     INT16   xOff B16;
  156.     INT16   yOff B16;
  157. } xGlyphInfo;
  158.  
  159. #define sz_xGlyphInfo    12
  160.  
  161. typedef struct {
  162.     CARD8   len;
  163.     CARD8   pad1;
  164.     CARD16  pad2;
  165.     INT16   deltax;
  166.     INT16   deltay;
  167. } xGlyphElt;
  168.  
  169. #define sz_xGlyphElt    8
  170.  
  171. typedef struct {
  172.     Fixed   l, r, y;
  173. } xSpanFix;
  174.  
  175. #define sz_xSpanFix    12
  176.  
  177. typedef struct {
  178.     xSpanFix    top, bot;
  179. } xTrap;
  180.  
  181. #define sz_xTrap    24
  182.  
  183. /* 
  184.  * requests and replies
  185.  */
  186. typedef struct {
  187.     CARD8   reqType;
  188.     CARD8   renderReqType;
  189.     CARD16  length B16;
  190.     CARD32  majorVersion B32;
  191.     CARD32  minorVersion B32;
  192. } xRenderQueryVersionReq;
  193.  
  194. #define sz_xRenderQueryVersionReq   12
  195.  
  196. typedef struct {
  197.     BYTE    type;   /* X_Reply */
  198.     BYTE    pad1;
  199.     CARD16  sequenceNumber B16;
  200.     CARD32  length B32;
  201.     CARD32  majorVersion B32;
  202.     CARD32  minorVersion B32;
  203.     CARD32  pad2 B32;
  204.     CARD32  pad3 B32;
  205.     CARD32  pad4 B32;
  206.     CARD32  pad5 B32;
  207. } xRenderQueryVersionReply;
  208.  
  209. #define sz_xRenderQueryVersionReply    32
  210.  
  211. typedef struct {
  212.     CARD8   reqType;
  213.     CARD8   renderReqType;
  214.     CARD16  length B16;
  215. } xRenderQueryPictFormatsReq;
  216.  
  217. #define sz_xRenderQueryPictFormatsReq    4
  218.  
  219. typedef struct {
  220.     BYTE    type;   /* X_Reply */
  221.     BYTE    pad1;
  222.     CARD16  sequenceNumber B16;
  223.     CARD32  length B32;
  224.     CARD32  numFormats B32;
  225.     CARD32  numScreens B32;
  226.     CARD32  numDepths B32;
  227.     CARD32  numVisuals B32;
  228.     CARD32  numSubpixel B32;        /* Version 0.6 */
  229.     CARD32  pad5 B32;
  230. } xRenderQueryPictFormatsReply;
  231.  
  232. #define sz_xRenderQueryPictFormatsReply    32
  233.  
  234. typedef struct {
  235.     CARD8   reqType;
  236.     CARD8   renderReqType;
  237.     CARD16  length B16;
  238.     PictFormat    format B32;
  239. } xRenderQueryPictIndexValuesReq;
  240.  
  241. #define sz_xRenderQueryPictIndexValuesReq   8
  242.  
  243. typedef struct {
  244.     BYTE    type;   /* X_Reply */
  245.     BYTE    pad1;
  246.     CARD16  sequenceNumber B16;
  247.     CARD32  length B32;
  248.     CARD32  numIndexValues;
  249.     CARD32  pad2 B32;
  250.     CARD32  pad3 B32;
  251.     CARD32  pad4 B32;
  252.     CARD32  pad5 B32;
  253.     CARD32  pad6 B32;
  254. } xRenderQueryPictIndexValuesReply;
  255.  
  256. #define sz_xRenderQueryPictIndexValuesReply 32
  257.  
  258. typedef struct {
  259.     CARD8    reqType;
  260.     CARD8    renderReqType;
  261.     CARD16    length B16;
  262.     Picture    pid B32;
  263.     Drawable    drawable B32;
  264.     PictFormat    format B32;
  265.     CARD32    mask B32;
  266. } xRenderCreatePictureReq;
  267.  
  268. #define sz_xRenderCreatePictureReq        20
  269.  
  270. typedef struct {
  271.     CARD8    reqType;
  272.     CARD8    renderReqType;
  273.     CARD16    length B16;
  274.     Picture    picture B32;
  275.     CARD32    mask B32;
  276. } xRenderChangePictureReq;
  277.  
  278. #define sz_xRenderChangePictureReq        12
  279.  
  280. typedef struct {
  281.     CARD8       reqType;
  282.     CARD8       renderReqType;
  283.     CARD16      length B16;
  284.     Picture     picture B32;
  285.     INT16    xOrigin B16;
  286.     INT16    yOrigin B16;
  287. } xRenderSetPictureClipRectanglesReq;
  288.  
  289. #define sz_xRenderSetPictureClipRectanglesReq        12
  290.  
  291. typedef struct {
  292.     CARD8       reqType;
  293.     CARD8       renderReqType;
  294.     CARD16      length B16;
  295.     Picture     picture B32;
  296. } xRenderFreePictureReq;
  297.  
  298. #define sz_xRenderFreePictureReq        8
  299.  
  300. typedef struct {
  301.     CARD8       reqType;
  302.     CARD8       renderReqType;
  303.     CARD16      length B16;
  304.     CARD8    op;
  305.     CARD8    pad1;
  306.     CARD16    pad2 B16;
  307.     Picture    src B32;
  308.     Picture    mask B32;
  309.     Picture    dst B32;
  310.     INT16    xSrc B16;
  311.     INT16    ySrc B16;
  312.     INT16    xMask B16;
  313.     INT16    yMask B16;
  314.     INT16    xDst B16;
  315.     INT16    yDst B16;
  316.     CARD16    width B16;
  317.     CARD16    height B16;
  318. } xRenderCompositeReq;
  319.  
  320. #define sz_xRenderCompositeReq            36
  321.  
  322. typedef struct {
  323.     CARD8       reqType;
  324.     CARD8       renderReqType;
  325.     CARD16      length B16;
  326.     Picture    src B32;
  327.     Picture    dst B32;
  328.     CARD32    colorScale B32;
  329.     CARD32    alphaScale B32;
  330.     INT16    xSrc B16;
  331.     INT16    ySrc B16;
  332.     INT16    xDst B16;
  333.     INT16    yDst B16;
  334.     CARD16    width B16;
  335.     CARD16    height B16;
  336. } xRenderScaleReq;
  337.  
  338. #define sz_xRenderScaleReq                32
  339.  
  340. typedef struct {
  341.     CARD8       reqType;
  342.     CARD8       renderReqType;
  343.     CARD16      length B16;
  344.     CARD8    op;
  345.     CARD8    pad1;
  346.     CARD16    pad2 B16;
  347.     Picture    src B32;
  348.     Picture    dst B32;
  349.     PictFormat    maskFormat B32;
  350.     INT16    xSrc B16;
  351.     INT16    ySrc B16;
  352. } xRenderTrapezoidsReq;
  353.  
  354. #define sz_xRenderTrapezoidsReq                24
  355.  
  356. typedef struct {
  357.     CARD8       reqType;
  358.     CARD8       renderReqType;
  359.     CARD16      length B16;
  360.     CARD8    op;
  361.     CARD8    pad1;
  362.     CARD16    pad2 B16;
  363.     Picture    src B32;
  364.     Picture    dst B32;
  365.     PictFormat    maskFormat B32;
  366.     INT16    xSrc B16;
  367.     INT16    ySrc B16;
  368. } xRenderTrianglesReq;
  369.  
  370. #define sz_xRenderTrianglesReq                24
  371.  
  372. typedef struct {
  373.     CARD8       reqType;
  374.     CARD8       renderReqType;
  375.     CARD16      length B16;
  376.     CARD8    op;
  377.     CARD8    pad1;
  378.     CARD16    pad2 B16;
  379.     Picture    src B32;
  380.     Picture    dst B32;
  381.     PictFormat    maskFormat B32;
  382.     INT16    xSrc B16;
  383.     INT16    ySrc B16;
  384. } xRenderTriStripReq;
  385.  
  386. #define sz_xRenderTriStripReq                24
  387.  
  388. typedef struct {
  389.     CARD8       reqType;
  390.     CARD8       renderReqType;
  391.     CARD16      length B16;
  392.     CARD8    op;
  393.     CARD8    pad1;
  394.     CARD16    pad2 B16;
  395.     Picture    src B32;
  396.     Picture    dst B32;
  397.     PictFormat    maskFormat B32;
  398.     INT16    xSrc B16;
  399.     INT16    ySrc B16;
  400. } xRenderTriFanReq;
  401.  
  402. #define sz_xRenderTriFanReq                24
  403.  
  404. typedef struct {
  405.     CARD8       reqType;
  406.     CARD8       renderReqType;
  407.     CARD16      length B16;
  408.     Glyphset    gsid B32;
  409.     PictFormat    format B32;
  410. } xRenderCreateGlyphSetReq;
  411.  
  412. #define sz_xRenderCreateGlyphSetReq            12
  413.  
  414. typedef struct {
  415.     CARD8       reqType;
  416.     CARD8       renderReqType;
  417.     CARD16      length B16;
  418.     Glyphset    gsid B32;
  419.     Glyphset    existing B32;
  420. } xRenderReferenceGlyphSetReq;
  421.  
  422. #define sz_xRenderReferenceGlyphSetReq            24
  423.  
  424. typedef struct {
  425.     CARD8       reqType;
  426.     CARD8       renderReqType;
  427.     CARD16      length B16;
  428.     Glyphset    glyphset B32;
  429. } xRenderFreeGlyphSetReq;
  430.  
  431. #define sz_xRenderFreeGlyphSetReq            8
  432.  
  433. typedef struct {
  434.     CARD8       reqType;
  435.     CARD8       renderReqType;
  436.     CARD16      length B16;
  437.     Glyphset    glyphset B32;
  438.     CARD32    nglyphs;
  439. } xRenderAddGlyphsReq;
  440.  
  441. #define sz_xRenderAddGlyphsReq                12
  442.  
  443. typedef struct {
  444.     CARD8       reqType;
  445.     CARD8       renderReqType;
  446.     CARD16      length B16;
  447.     Glyphset    glyphset B32;
  448. } xRenderFreeGlyphsReq;
  449.  
  450. #define sz_xRenderFreeGlyphsReq                8
  451.  
  452. typedef struct {
  453.     CARD8       reqType;
  454.     CARD8       renderReqType;
  455.     CARD16      length B16;
  456.     CARD8    op;
  457.     CARD8    pad1;
  458.     CARD16    pad2 B16;
  459.     Picture    src B32;
  460.     Picture    dst B32;
  461.     PictFormat    maskFormat B32;
  462.     Glyphset    glyphset B32;
  463.     INT16    xSrc B16;
  464.     INT16    ySrc B16;
  465. } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req, 
  466. xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
  467.  
  468. #define sz_xRenderCompositeGlyphs8Req            28
  469. #define sz_xRenderCompositeGlyphs16Req            28
  470. #define sz_xRenderCompositeGlyphs32Req            28
  471.  
  472. /* 0.1 and higher */
  473.  
  474. typedef struct {
  475.     CARD8    reqType;
  476.     CARD8       renderReqType;
  477.     CARD16      length B16;
  478.     CARD8    op;
  479.     CARD8    pad1;
  480.     CARD16    pad2 B16;
  481.     Picture    dst B32;
  482.     xRenderColor    color;
  483. } xRenderFillRectanglesReq;
  484.  
  485. #define sz_xRenderFillRectanglesReq            20
  486.  
  487. /* 0.5 and higher */
  488.  
  489. typedef struct {
  490.     CARD8    reqType;
  491.     CARD8    renderReqType;
  492.     CARD16    length B16;
  493.     Cursor    cid B32;
  494.     Picture    src B32;
  495.     CARD16    x B16;
  496.     CARD16    y B16;
  497. } xRenderCreateCursorReq;
  498.  
  499. #define sz_xRenderCreateCursorReq            16
  500.  
  501. /* 0.6 and higher */
  502.  
  503. /*
  504.  * This can't use an array because 32-bit values may be in bitfields
  505.  */
  506. typedef struct {
  507.     Fixed    matrix11 B32;
  508.     Fixed    matrix12 B32;
  509.     Fixed    matrix13 B32;
  510.     Fixed    matrix21 B32;
  511.     Fixed    matrix22 B32;
  512.     Fixed    matrix23 B32;
  513.     Fixed    matrix31 B32;
  514.     Fixed    matrix32 B32;
  515.     Fixed    matrix33 B32;
  516. } xRenderTransform;
  517.  
  518. #define sz_xRenderTransform 36
  519.  
  520. typedef struct {
  521.     CARD8        reqType;
  522.     CARD8        renderReqType;
  523.     CARD16        length B16;
  524.     Picture        picture B32;
  525.     xRenderTransform    transform;
  526. } xRenderSetPictureTransformReq;
  527.  
  528. #define sz_xRenderSetPictureTransformReq        44
  529.  
  530. typedef struct {
  531.     CARD8        reqType;
  532.     CARD8        renderReqType;
  533.     CARD16        length B16;
  534.     Drawable        drawable B32;
  535. } xRenderQueryFiltersReq;
  536.  
  537. #define sz_xRenderQueryFiltersReq            8
  538.  
  539. typedef struct {
  540.     BYTE    type;   /* X_Reply */
  541.     BYTE    pad1;
  542.     CARD16  sequenceNumber B16;
  543.     CARD32  length B32;
  544.     CARD32  numAliases B32;    /* LISTofCARD16 */
  545.     CARD32  numFilters B32;    /* LISTofSTRING8 */
  546.     CARD32  pad2 B32;
  547.     CARD32  pad3 B32;
  548.     CARD32  pad4 B32;
  549.     CARD32  pad5 B32;
  550. } xRenderQueryFiltersReply;
  551.  
  552. #define sz_xRenderQueryFiltersReply            32
  553.  
  554. typedef struct {
  555.     CARD8        reqType;
  556.     CARD8        renderReqType;
  557.     CARD16        length B16;
  558.     Picture        picture B32;
  559.     CARD16        nbytes B16; /* number of bytes in name */
  560.     CARD16        pad B16;
  561. } xRenderSetPictureFilterReq;
  562.  
  563. #define sz_xRenderSetPictureFilterReq            12
  564.     
  565. /* 0.8 and higher */
  566.  
  567. typedef struct {
  568.     Cursor        cursor B32;
  569.     CARD32        delay B32;
  570. } xAnimCursorElt;
  571.  
  572. #define sz_xAnimCursorElt                8
  573.  
  574. typedef struct {
  575.     CARD8        reqType;
  576.     CARD8        renderReqType;
  577.     CARD16        length B16;
  578.     Cursor        cid B32;
  579. } xRenderCreateAnimCursorReq;
  580.  
  581. #define sz_xRenderCreateAnimCursorReq            8
  582.  
  583. /* 0.9 and higher */
  584.  
  585. typedef struct {
  586.     CARD8        reqType;
  587.     CARD8        renderReqType;
  588.     CARD16        length B16;
  589.     Picture        picture;
  590.     INT16        xOff B16;
  591.     INT16        yOff B16;
  592. } xRenderAddTrapsReq;
  593.  
  594. #define sz_xRenderAddTrapsReq                12
  595.     
  596. #undef Window
  597. #undef Drawable
  598. #undef Font
  599. #undef Pixmap
  600. #undef Cursor
  601. #undef Colormap
  602. #undef GContext
  603. #undef Atom
  604. #undef VisualID
  605. #undef Time
  606. #undef KeyCode
  607. #undef KeySym
  608.  
  609. #undef Picture
  610. #undef PictFormat
  611. #undef Fixed
  612. #undef Glyphset
  613. #undef Glyph
  614.  
  615. #endif /* _XRENDERP_H_ */
  616.